75fa302a5c0d2d31aec5e080b2ebe29e1ea08a66,src/edu/stanford/nlp/ie/crf/CRFLogConditionalObjectiveFunction.java,CRFLogConditionalObjectiveFunction,CRFLogConditionalObjectiveFunction,#number[][][][]#number[][]#number#Index#List#number[]#String#String#number#number[][][][]#number#number#number#boolean#number#number[][][][]#,147
Before Change
this.totalData = data;
}
domainDimension = myDomainDimension;
initEdgeLabels();
if (multiThreadGrad > 0)
initializeDataFeatureHash();
}
private void initEdgeLabels() {
After Change
// takes docIndex, returns Triple<prob, E, dropoutGrad>
Ehat = empty2D();
E = empty2D();
if (multiThreadGrad > 1 && prior != DROPOUT_PRIOR) {
batchE = new double[multiThreadGrad][][];
for (int t = 0; t < multiThreadGrad; t++)
batchE[t] = empty2D();
}
weights = empty2D();
if (prior == DROPOUT_PRIOR)
dropoutPriorGrad = empty2D();
empiricalCounts(Ehat);
int myDomainDimension = 0;
for (int dim : map) {
myDomainDimension += labelIndices.get(dim).size();
}
this.unsupDropoutStartIndex = data.length;
this.unsupDropoutScale = unsupDropoutScale;
if (unsupDropoutData != null) {
this.totalData = new int[data.length + unsupDropoutData.length][][][];
for (int i=0; i<data.length; i++) {
this.totalData[i] = data[i];
}
for (int i=0; i<unsupDropoutData.length; i++) {
this.totalData[i+unsupDropoutStartIndex] = unsupDropoutData[i];
}
} else {
this.totalData = data;
}
domainDimension = myDomainDimension;
if (prior == DROPOUT_PRIOR) {
initEdgeLabels();
initializeDataFeatureHash();
}
}